-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Twister: Sharing built applications across multiple tests #75291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
798f60b to
c2d9295
Compare
f40b3ff to
a421250
Compare
|
and the atomic pacakge is other application right? |
a421250 to
a45ff5f
Compare
|
updated with changes to properly add required images when tests are loaded from file (options |
Fair enough. Let's go with this by now then. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2 nits. Overall +1 to the idea
b63cd17 to
867b3ff
Compare
|
Thank you @aescolar for review. I rebased PR and updated twister.rst with your comments.
Now I know what you mean. It could be great to be able to run |
f1cee35 to
630c36d
Compare
630c36d to
bde485c
Compare
|
Rebased to work with |
|
this basically does what I commented on in #62649 (comment), correct? |
Yes, correct. This change modifies the scheduler and queue management. Instead of using
|
Added feature to share builds between test scenarios in Twister. New keys added to test yaml: required_images and no_own_image. Signed-off-by: Grzegorz Chwierut <[email protected]>
Fixed unittests after adding shared apps feature. Signed-off-by: Grzegorz Chwierut <[email protected]>
Added sample to demonstrate shared app mechanism added to Twister. Signed-off-by: Grzegorz Chwierut <[email protected]>
Added short description of new keys added with shared app mechanism. Signed-off-by: Grzegorz Chwierut <[email protected]>
bde485c to
dab9a22
Compare
|
Rebased and changed names of variables used by scheduler: |
|
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
|
Rebase is not trivial now (changes related to statuses, ruff etc.). I can do that, however as I understand, tinkering in Twister scheduler and queue management was a blocker here. (#75291 (comment)) |
Related to #62649
and @gopiotr 's PR: #66188
Added sample to demonstrate sharing build mechanism in samples/subsys/testsuite/shared_app,
try to run with:
Changes:
required_imageskey to sample/testcase yaml. It is a list of test scenarios that are required to be build before current test. If required image is not ready, then processing of the current test is postponed (received to the pipeline queue). There is also option to use the first required image as an image used during current test (user must set new keyno_own_imageor there is no source (CMakeList.txt) in the current test directory)runner.pyfile.pipelinequeue is changed from LifoQueue todeque(to allow append elements in both sides),doneis changed from LifoQueue todict(to check if test scenario is ready with constant time).testplan.pychecked if required images are in scope, if platform is correct etc. Added special filter to mark filtered test scenario with proper commentsThis feature does not work with
--subset.For QEMU platforms there is no support for
no_own_image(QEMU_PIPE file is used during build, so to reuse qemu build, one must point to the origin build directory).All required images must be available from tree (user must give path with
-Toption). If required image is not found in scope, then is skipped.Usecases: